package com.ljy.my_study.lintcode.旋转字符串;

/**
 * @author James
 * @date 2019年1月26日
 */
public class TestMain {
//	旋转字符串
//	给定一个字符串和一个偏移量，根据偏移量旋转字符串(从左向右旋转)
//
//	样例
//	样例  1:
//		输入:  str="abcdefg", offset = 3
//		输出: "efgabcd"
//		
//		样例解释: 
//		返回旋转后的字符串。
//
//	样例 2:
//		输入: str="abcdefg", offset = 0
//		输出: "abcdefg"
//		
//		样例解释: 
//		返回旋转后的字符串
//
//	样例 3:
//		输入: str="abcdefg", offset = 1
//		输出: "gabcdef"
//		
//		样例解释: 
//		返回旋转后的字符串
//
//	样例 4:
//		输入: str="abcdefg", offset =2
//		输出:"fgabcde"
//		
//		样例解释: 
//		返回旋转后的字符串
//	挑战
//	在数组上原地旋转，使用O(1)的额外空间
	public static void rotateString(char[] str, int offset) {
		char[] cArr2=new char[str.length];
		for(int i=offset-1;i<str.length;i++) {
			cArr2[i]=str[i-offset-1];
		}
		for(int i=0;i<offset-1;i++) {
			cArr2[i]=str[str.length-offset-1];
		}
		
	}
	
	public static void main(String[] args) {
		
	}
}
